Skip to content

feat: add AccountTreeController #5847

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 44 commits into
base: main
Choose a base branch
from
Open

Conversation

ccharly
Copy link
Contributor

@ccharly ccharly commented May 22, 2025

Explanation

New controller to group accounts based on some pre-defined rules.

References

Changelog

N/A

Checklist

  • I've updated the test suite for new or updated code as appropriate
  • I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
  • I've communicated my changes to consumers by updating changelogs for packages I've changed, highlighting breaking changes as necessary
  • I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes

@PatrykLucka PatrykLucka force-pushed the feat/account-group-controller branch from 56bec57 to e96d94e Compare May 23, 2025 13:17
@ccharly
Copy link
Contributor Author

ccharly commented May 23, 2025

@metamaskbot publish-preview

Copy link
Contributor

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/account-group-controller": "0.0.0-preview-e96d94ef",
  "@metamask-previews/accounts-controller": "29.0.0-preview-e96d94ef",
  "@metamask-previews/address-book-controller": "6.0.3-preview-e96d94ef",
  "@metamask-previews/announcement-controller": "7.0.3-preview-e96d94ef",
  "@metamask-previews/app-metadata-controller": "1.0.0-preview-e96d94ef",
  "@metamask-previews/approval-controller": "7.1.3-preview-e96d94ef",
  "@metamask-previews/assets-controllers": "63.0.0-preview-e96d94ef",
  "@metamask-previews/base-controller": "8.0.1-preview-e96d94ef",
  "@metamask-previews/bridge-controller": "26.0.0-preview-e96d94ef",
  "@metamask-previews/bridge-status-controller": "23.0.0-preview-e96d94ef",
  "@metamask-previews/build-utils": "3.0.3-preview-e96d94ef",
  "@metamask-previews/chain-agnostic-permission": "0.7.0-preview-e96d94ef",
  "@metamask-previews/composable-controller": "11.0.0-preview-e96d94ef",
  "@metamask-previews/controller-utils": "11.9.0-preview-e96d94ef",
  "@metamask-previews/delegation-controller": "0.3.0-preview-e96d94ef",
  "@metamask-previews/earn-controller": "0.14.0-preview-e96d94ef",
  "@metamask-previews/eip1193-permission-middleware": "0.1.0-preview-e96d94ef",
  "@metamask-previews/ens-controller": "16.0.0-preview-e96d94ef",
  "@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-e96d94ef",
  "@metamask-previews/gas-fee-controller": "23.0.0-preview-e96d94ef",
  "@metamask-previews/json-rpc-engine": "10.0.3-preview-e96d94ef",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-e96d94ef",
  "@metamask-previews/keyring-controller": "22.0.0-preview-e96d94ef",
  "@metamask-previews/logging-controller": "6.0.4-preview-e96d94ef",
  "@metamask-previews/message-manager": "12.0.1-preview-e96d94ef",
  "@metamask-previews/multichain": "4.1.0-preview-e96d94ef",
  "@metamask-previews/multichain-api-middleware": "0.3.0-preview-e96d94ef",
  "@metamask-previews/multichain-network-controller": "0.7.0-preview-e96d94ef",
  "@metamask-previews/multichain-transactions-controller": "1.0.0-preview-e96d94ef",
  "@metamask-previews/name-controller": "8.0.3-preview-e96d94ef",
  "@metamask-previews/network-controller": "23.5.0-preview-e96d94ef",
  "@metamask-previews/notification-services-controller": "8.0.0-preview-e96d94ef",
  "@metamask-previews/permission-controller": "11.0.6-preview-e96d94ef",
  "@metamask-previews/permission-log-controller": "3.0.3-preview-e96d94ef",
  "@metamask-previews/phishing-controller": "12.5.0-preview-e96d94ef",
  "@metamask-previews/polling-controller": "13.0.0-preview-e96d94ef",
  "@metamask-previews/preferences-controller": "18.0.0-preview-e96d94ef",
  "@metamask-previews/profile-sync-controller": "15.0.0-preview-e96d94ef",
  "@metamask-previews/queued-request-controller": "10.0.0-preview-e96d94ef",
  "@metamask-previews/rate-limit-controller": "6.0.3-preview-e96d94ef",
  "@metamask-previews/remote-feature-flag-controller": "1.6.0-preview-e96d94ef",
  "@metamask-previews/sample-controllers": "0.1.0-preview-e96d94ef",
  "@metamask-previews/selected-network-controller": "22.1.0-preview-e96d94ef",
  "@metamask-previews/signature-controller": "29.0.0-preview-e96d94ef",
  "@metamask-previews/token-search-discovery-controller": "3.1.0-preview-e96d94ef",
  "@metamask-previews/transaction-controller": "56.2.0-preview-e96d94ef",
  "@metamask-previews/user-operation-controller": "35.0.0-preview-e96d94ef"
}

Comment on lines 44 to 55
accountGroups: {
groups: {
// Wallet
[accountGroup: AccountGroupId]: {
// Multichain Account OR Account Group
[accountSubGroup: AccountGroupId]: AccountId[]; // Blockchain Accounts
};
};
};
accountGroupsMetadata: {
[accountGroup: AccountGroupId]: AccountGroupMetadata;
};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From a sync with @danroc @gantunesr:

We could use this state instead:

  • Better locality with metadata
  • We would still persist everything (mainly because of the metadata)
  • We should probably rename this controller to AccountWalletController
  • We would have another MultichainAccountController (stateless) that would abstract high-level multichain accounts methods/capabilities on top of this controller for multichain accounts support
Suggested change
accountGroups: {
groups: {
// Wallet
[accountGroup: AccountGroupId]: {
// Multichain Account OR Account Group
[accountSubGroup: AccountGroupId]: AccountId[]; // Blockchain Accounts
};
};
};
accountGroupsMetadata: {
[accountGroup: AccountGroupId]: AccountGroupMetadata;
};
accountWallets: {
// Wallet
[accountWallet: AccountWalletId]: {
// Multichain Account OR Account Group
groups: [accountGroup: AccountGroupId]: {
accounts: AccountId[]; // Blockchain Accounts
metadata: Metadata;
},
metadata: Metadata;
};
};

@PatrykLucka WDYT?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you share a quick draft of what would be the use cases the MultichainAccountController should be responsible for? I'm concerned about the over complexity that is being introduced around all the controllers that will manage accounts to their own extend and the still present accounts legacy code.

it does not need to be a new ADR, just a quick notion page will be enough to start setting the limits of each controller and how they interact between each other

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay.

My initial idea was to introduce a new MultichainAccountController mainly to expose "multichain account capabilities" like:

  • create/remove multichain account
  • get a blockchain account from a multichain account (given a specific scope for example)
  • get the associated wallet id or group id of a multichain account

The AccountTreeController would be responsible for the hierarchy and structure of accounts.
The MultichainAccountController would rely on the AccountTreeController for the structure (and could also provide the "rule" being used to group multichain accounts together) AND provide multichain capabilities.

I haven't discussed any of those designs with anyone TBH, was just something I had in mind when thinking about the new initiative.

Comment on lines 44 to 55
accountGroups: {
groups: {
// Wallet
[accountGroup: AccountGroupId]: {
// Multichain Account OR Account Group
[accountSubGroup: AccountGroupId]: AccountId[]; // Blockchain Accounts
};
};
};
accountGroupsMetadata: {
[accountGroup: AccountGroupId]: AccountGroupMetadata;
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you share a quick draft of what would be the use cases the MultichainAccountController should be responsible for? I'm concerned about the over complexity that is being introduced around all the controllers that will manage accounts to their own extend and the still present accounts legacy code.

it does not need to be a new ADR, just a quick notion page will be enough to start setting the limits of each controller and how they interact between each other

@PatrykLucka PatrykLucka force-pushed the feat/account-group-controller branch from f740c42 to 63a0a51 Compare May 27, 2025 09:23
@ccharly ccharly requested a review from a team as a code owner May 27, 2025 21:05
@ccharly
Copy link
Contributor Author

ccharly commented May 28, 2025

@metamaskbot publish-preview

Copy link
Contributor

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/account-wallet-controller": "0.0.0-preview-9ae2ce46",
  "@metamask-previews/accounts-controller": "29.0.0-preview-9ae2ce46",
  "@metamask-previews/address-book-controller": "6.0.3-preview-9ae2ce46",
  "@metamask-previews/announcement-controller": "7.0.3-preview-9ae2ce46",
  "@metamask-previews/app-metadata-controller": "1.0.0-preview-9ae2ce46",
  "@metamask-previews/approval-controller": "7.1.3-preview-9ae2ce46",
  "@metamask-previews/assets-controllers": "65.0.0-preview-9ae2ce46",
  "@metamask-previews/base-controller": "8.0.1-preview-9ae2ce46",
  "@metamask-previews/bridge-controller": "28.0.0-preview-9ae2ce46",
  "@metamask-previews/bridge-status-controller": "25.0.0-preview-9ae2ce46",
  "@metamask-previews/build-utils": "3.0.3-preview-9ae2ce46",
  "@metamask-previews/chain-agnostic-permission": "0.7.0-preview-9ae2ce46",
  "@metamask-previews/composable-controller": "11.0.0-preview-9ae2ce46",
  "@metamask-previews/controller-utils": "11.9.0-preview-9ae2ce46",
  "@metamask-previews/delegation-controller": "0.3.0-preview-9ae2ce46",
  "@metamask-previews/earn-controller": "0.14.0-preview-9ae2ce46",
  "@metamask-previews/eip1193-permission-middleware": "0.1.0-preview-9ae2ce46",
  "@metamask-previews/ens-controller": "16.0.0-preview-9ae2ce46",
  "@metamask-previews/error-reporting-service": "0.0.0-preview-9ae2ce46",
  "@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-9ae2ce46",
  "@metamask-previews/gas-fee-controller": "23.0.0-preview-9ae2ce46",
  "@metamask-previews/json-rpc-engine": "10.0.3-preview-9ae2ce46",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-9ae2ce46",
  "@metamask-previews/keyring-controller": "22.0.0-preview-9ae2ce46",
  "@metamask-previews/logging-controller": "6.0.4-preview-9ae2ce46",
  "@metamask-previews/message-manager": "12.0.1-preview-9ae2ce46",
  "@metamask-previews/multichain": "4.1.0-preview-9ae2ce46",
  "@metamask-previews/multichain-api-middleware": "0.4.0-preview-9ae2ce46",
  "@metamask-previews/multichain-network-controller": "0.7.0-preview-9ae2ce46",
  "@metamask-previews/multichain-transactions-controller": "1.0.0-preview-9ae2ce46",
  "@metamask-previews/name-controller": "8.0.3-preview-9ae2ce46",
  "@metamask-previews/network-controller": "23.5.0-preview-9ae2ce46",
  "@metamask-previews/notification-services-controller": "8.0.0-preview-9ae2ce46",
  "@metamask-previews/permission-controller": "11.0.6-preview-9ae2ce46",
  "@metamask-previews/permission-log-controller": "3.0.3-preview-9ae2ce46",
  "@metamask-previews/phishing-controller": "12.5.0-preview-9ae2ce46",
  "@metamask-previews/polling-controller": "13.0.0-preview-9ae2ce46",
  "@metamask-previews/preferences-controller": "18.0.0-preview-9ae2ce46",
  "@metamask-previews/profile-sync-controller": "15.0.0-preview-9ae2ce46",
  "@metamask-previews/queued-request-controller": "10.0.0-preview-9ae2ce46",
  "@metamask-previews/rate-limit-controller": "6.0.3-preview-9ae2ce46",
  "@metamask-previews/remote-feature-flag-controller": "1.6.0-preview-9ae2ce46",
  "@metamask-previews/sample-controllers": "0.1.0-preview-9ae2ce46",
  "@metamask-previews/selected-network-controller": "22.1.0-preview-9ae2ce46",
  "@metamask-previews/signature-controller": "29.0.0-preview-9ae2ce46",
  "@metamask-previews/token-search-discovery-controller": "3.2.0-preview-9ae2ce46",
  "@metamask-previews/transaction-controller": "56.2.0-preview-9ae2ce46",
  "@metamask-previews/user-operation-controller": "35.0.0-preview-9ae2ce46"
}

@ccharly
Copy link
Contributor Author

ccharly commented May 28, 2025

@metamaskbot publish-preview

Copy link
Contributor

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/account-wallet-controller": "0.0.0-preview-d75f4283",
  "@metamask-previews/accounts-controller": "29.0.0-preview-d75f4283",
  "@metamask-previews/address-book-controller": "6.0.3-preview-d75f4283",
  "@metamask-previews/announcement-controller": "7.0.3-preview-d75f4283",
  "@metamask-previews/app-metadata-controller": "1.0.0-preview-d75f4283",
  "@metamask-previews/approval-controller": "7.1.3-preview-d75f4283",
  "@metamask-previews/assets-controllers": "65.0.0-preview-d75f4283",
  "@metamask-previews/base-controller": "8.0.1-preview-d75f4283",
  "@metamask-previews/bridge-controller": "28.0.0-preview-d75f4283",
  "@metamask-previews/bridge-status-controller": "25.0.0-preview-d75f4283",
  "@metamask-previews/build-utils": "3.0.3-preview-d75f4283",
  "@metamask-previews/chain-agnostic-permission": "0.7.0-preview-d75f4283",
  "@metamask-previews/composable-controller": "11.0.0-preview-d75f4283",
  "@metamask-previews/controller-utils": "11.9.0-preview-d75f4283",
  "@metamask-previews/delegation-controller": "0.3.0-preview-d75f4283",
  "@metamask-previews/earn-controller": "0.14.0-preview-d75f4283",
  "@metamask-previews/eip1193-permission-middleware": "0.1.0-preview-d75f4283",
  "@metamask-previews/ens-controller": "16.0.0-preview-d75f4283",
  "@metamask-previews/error-reporting-service": "0.0.0-preview-d75f4283",
  "@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-d75f4283",
  "@metamask-previews/gas-fee-controller": "23.0.0-preview-d75f4283",
  "@metamask-previews/json-rpc-engine": "10.0.3-preview-d75f4283",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-d75f4283",
  "@metamask-previews/keyring-controller": "22.0.0-preview-d75f4283",
  "@metamask-previews/logging-controller": "6.0.4-preview-d75f4283",
  "@metamask-previews/message-manager": "12.0.1-preview-d75f4283",
  "@metamask-previews/multichain": "4.1.0-preview-d75f4283",
  "@metamask-previews/multichain-api-middleware": "0.4.0-preview-d75f4283",
  "@metamask-previews/multichain-network-controller": "0.7.0-preview-d75f4283",
  "@metamask-previews/multichain-transactions-controller": "1.0.0-preview-d75f4283",
  "@metamask-previews/name-controller": "8.0.3-preview-d75f4283",
  "@metamask-previews/network-controller": "23.5.0-preview-d75f4283",
  "@metamask-previews/notification-services-controller": "8.0.0-preview-d75f4283",
  "@metamask-previews/permission-controller": "11.0.6-preview-d75f4283",
  "@metamask-previews/permission-log-controller": "3.0.3-preview-d75f4283",
  "@metamask-previews/phishing-controller": "12.5.0-preview-d75f4283",
  "@metamask-previews/polling-controller": "13.0.0-preview-d75f4283",
  "@metamask-previews/preferences-controller": "18.0.0-preview-d75f4283",
  "@metamask-previews/profile-sync-controller": "15.0.0-preview-d75f4283",
  "@metamask-previews/queued-request-controller": "10.0.0-preview-d75f4283",
  "@metamask-previews/rate-limit-controller": "6.0.3-preview-d75f4283",
  "@metamask-previews/remote-feature-flag-controller": "1.6.0-preview-d75f4283",
  "@metamask-previews/sample-controllers": "0.1.0-preview-d75f4283",
  "@metamask-previews/selected-network-controller": "22.1.0-preview-d75f4283",
  "@metamask-previews/signature-controller": "29.0.0-preview-d75f4283",
  "@metamask-previews/token-search-discovery-controller": "3.2.0-preview-d75f4283",
  "@metamask-previews/transaction-controller": "56.2.0-preview-d75f4283",
  "@metamask-previews/user-operation-controller": "35.0.0-preview-d75f4283"
}

@ccharly
Copy link
Contributor Author

ccharly commented May 28, 2025

@metamaskbot publish-preview

Copy link
Contributor

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/account-wallet-controller": "0.0.0-preview-59aaeb41",
  "@metamask-previews/accounts-controller": "29.0.0-preview-59aaeb41",
  "@metamask-previews/address-book-controller": "6.0.3-preview-59aaeb41",
  "@metamask-previews/announcement-controller": "7.0.3-preview-59aaeb41",
  "@metamask-previews/app-metadata-controller": "1.0.0-preview-59aaeb41",
  "@metamask-previews/approval-controller": "7.1.3-preview-59aaeb41",
  "@metamask-previews/assets-controllers": "65.0.0-preview-59aaeb41",
  "@metamask-previews/base-controller": "8.0.1-preview-59aaeb41",
  "@metamask-previews/bridge-controller": "28.0.0-preview-59aaeb41",
  "@metamask-previews/bridge-status-controller": "25.0.0-preview-59aaeb41",
  "@metamask-previews/build-utils": "3.0.3-preview-59aaeb41",
  "@metamask-previews/chain-agnostic-permission": "0.7.0-preview-59aaeb41",
  "@metamask-previews/composable-controller": "11.0.0-preview-59aaeb41",
  "@metamask-previews/controller-utils": "11.9.0-preview-59aaeb41",
  "@metamask-previews/delegation-controller": "0.3.0-preview-59aaeb41",
  "@metamask-previews/earn-controller": "0.14.0-preview-59aaeb41",
  "@metamask-previews/eip1193-permission-middleware": "0.1.0-preview-59aaeb41",
  "@metamask-previews/ens-controller": "16.0.0-preview-59aaeb41",
  "@metamask-previews/error-reporting-service": "0.0.0-preview-59aaeb41",
  "@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-59aaeb41",
  "@metamask-previews/gas-fee-controller": "23.0.0-preview-59aaeb41",
  "@metamask-previews/json-rpc-engine": "10.0.3-preview-59aaeb41",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-59aaeb41",
  "@metamask-previews/keyring-controller": "22.0.0-preview-59aaeb41",
  "@metamask-previews/logging-controller": "6.0.4-preview-59aaeb41",
  "@metamask-previews/message-manager": "12.0.1-preview-59aaeb41",
  "@metamask-previews/multichain": "4.1.0-preview-59aaeb41",
  "@metamask-previews/multichain-api-middleware": "0.4.0-preview-59aaeb41",
  "@metamask-previews/multichain-network-controller": "0.7.0-preview-59aaeb41",
  "@metamask-previews/multichain-transactions-controller": "1.0.0-preview-59aaeb41",
  "@metamask-previews/name-controller": "8.0.3-preview-59aaeb41",
  "@metamask-previews/network-controller": "23.5.0-preview-59aaeb41",
  "@metamask-previews/notification-services-controller": "8.0.0-preview-59aaeb41",
  "@metamask-previews/permission-controller": "11.0.6-preview-59aaeb41",
  "@metamask-previews/permission-log-controller": "3.0.3-preview-59aaeb41",
  "@metamask-previews/phishing-controller": "12.5.0-preview-59aaeb41",
  "@metamask-previews/polling-controller": "13.0.0-preview-59aaeb41",
  "@metamask-previews/preferences-controller": "18.0.0-preview-59aaeb41",
  "@metamask-previews/profile-sync-controller": "15.0.0-preview-59aaeb41",
  "@metamask-previews/queued-request-controller": "10.0.0-preview-59aaeb41",
  "@metamask-previews/rate-limit-controller": "6.0.3-preview-59aaeb41",
  "@metamask-previews/remote-feature-flag-controller": "1.6.0-preview-59aaeb41",
  "@metamask-previews/sample-controllers": "0.1.0-preview-59aaeb41",
  "@metamask-previews/selected-network-controller": "22.1.0-preview-59aaeb41",
  "@metamask-previews/signature-controller": "29.0.0-preview-59aaeb41",
  "@metamask-previews/token-search-discovery-controller": "3.2.0-preview-59aaeb41",
  "@metamask-previews/transaction-controller": "56.2.0-preview-59aaeb41",
  "@metamask-previews/user-operation-controller": "35.0.0-preview-59aaeb41"
}

@ccharly ccharly changed the title feat: add AccountWalletController feat: add AccountTreeController May 28, 2025
@ccharly
Copy link
Contributor Author

ccharly commented May 28, 2025

@metamaskbot publish-preview

Copy link
Contributor

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/account-tree-controller": "0.0.0-preview-d9a49231",
  "@metamask-previews/accounts-controller": "29.0.0-preview-d9a49231",
  "@metamask-previews/address-book-controller": "6.0.3-preview-d9a49231",
  "@metamask-previews/announcement-controller": "7.0.3-preview-d9a49231",
  "@metamask-previews/app-metadata-controller": "1.0.0-preview-d9a49231",
  "@metamask-previews/approval-controller": "7.1.3-preview-d9a49231",
  "@metamask-previews/assets-controllers": "65.0.0-preview-d9a49231",
  "@metamask-previews/base-controller": "8.0.1-preview-d9a49231",
  "@metamask-previews/bridge-controller": "28.0.0-preview-d9a49231",
  "@metamask-previews/bridge-status-controller": "25.0.0-preview-d9a49231",
  "@metamask-previews/build-utils": "3.0.3-preview-d9a49231",
  "@metamask-previews/chain-agnostic-permission": "0.7.0-preview-d9a49231",
  "@metamask-previews/composable-controller": "11.0.0-preview-d9a49231",
  "@metamask-previews/controller-utils": "11.9.0-preview-d9a49231",
  "@metamask-previews/delegation-controller": "0.3.0-preview-d9a49231",
  "@metamask-previews/earn-controller": "0.14.0-preview-d9a49231",
  "@metamask-previews/eip1193-permission-middleware": "0.1.0-preview-d9a49231",
  "@metamask-previews/ens-controller": "16.0.0-preview-d9a49231",
  "@metamask-previews/error-reporting-service": "0.0.0-preview-d9a49231",
  "@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-d9a49231",
  "@metamask-previews/gas-fee-controller": "23.0.0-preview-d9a49231",
  "@metamask-previews/json-rpc-engine": "10.0.3-preview-d9a49231",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-d9a49231",
  "@metamask-previews/keyring-controller": "22.0.0-preview-d9a49231",
  "@metamask-previews/logging-controller": "6.0.4-preview-d9a49231",
  "@metamask-previews/message-manager": "12.0.1-preview-d9a49231",
  "@metamask-previews/multichain": "4.1.0-preview-d9a49231",
  "@metamask-previews/multichain-api-middleware": "0.4.0-preview-d9a49231",
  "@metamask-previews/multichain-network-controller": "0.7.0-preview-d9a49231",
  "@metamask-previews/multichain-transactions-controller": "1.0.0-preview-d9a49231",
  "@metamask-previews/name-controller": "8.0.3-preview-d9a49231",
  "@metamask-previews/network-controller": "23.5.0-preview-d9a49231",
  "@metamask-previews/notification-services-controller": "8.0.0-preview-d9a49231",
  "@metamask-previews/permission-controller": "11.0.6-preview-d9a49231",
  "@metamask-previews/permission-log-controller": "3.0.3-preview-d9a49231",
  "@metamask-previews/phishing-controller": "12.5.0-preview-d9a49231",
  "@metamask-previews/polling-controller": "13.0.0-preview-d9a49231",
  "@metamask-previews/preferences-controller": "18.0.0-preview-d9a49231",
  "@metamask-previews/profile-sync-controller": "15.0.0-preview-d9a49231",
  "@metamask-previews/queued-request-controller": "10.0.0-preview-d9a49231",
  "@metamask-previews/rate-limit-controller": "6.0.3-preview-d9a49231",
  "@metamask-previews/remote-feature-flag-controller": "1.6.0-preview-d9a49231",
  "@metamask-previews/sample-controllers": "0.1.0-preview-d9a49231",
  "@metamask-previews/selected-network-controller": "22.1.0-preview-d9a49231",
  "@metamask-previews/signature-controller": "29.0.0-preview-d9a49231",
  "@metamask-previews/token-search-discovery-controller": "3.2.0-preview-d9a49231",
  "@metamask-previews/transaction-controller": "56.2.0-preview-d9a49231",
  "@metamask-previews/user-operation-controller": "35.0.0-preview-d9a49231"
}

Copy link
Contributor

@mcmire mcmire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job! Just had some minor suggestions.

@ccharly
Copy link
Contributor Author

ccharly commented Jun 4, 2025

@metamaskbot publish-preview

Copy link
Contributor

github-actions bot commented Jun 4, 2025

Preview builds have been published. See these instructions for more information about preview builds.

Expand for full list of packages and versions.
{
  "@metamask-previews/account-tree-controller": "0.0.0-preview-8d14f81c",
  "@metamask-previews/accounts-controller": "30.0.0-preview-8d14f81c",
  "@metamask-previews/address-book-controller": "6.1.0-preview-8d14f81c",
  "@metamask-previews/announcement-controller": "7.0.3-preview-8d14f81c",
  "@metamask-previews/app-metadata-controller": "1.0.0-preview-8d14f81c",
  "@metamask-previews/approval-controller": "7.1.3-preview-8d14f81c",
  "@metamask-previews/assets-controllers": "68.0.0-preview-8d14f81c",
  "@metamask-previews/base-controller": "8.0.1-preview-8d14f81c",
  "@metamask-previews/bridge-controller": "32.1.0-preview-8d14f81c",
  "@metamask-previews/bridge-status-controller": "29.1.0-preview-8d14f81c",
  "@metamask-previews/build-utils": "3.0.3-preview-8d14f81c",
  "@metamask-previews/chain-agnostic-permission": "0.7.0-preview-8d14f81c",
  "@metamask-previews/composable-controller": "11.0.0-preview-8d14f81c",
  "@metamask-previews/controller-utils": "11.9.0-preview-8d14f81c",
  "@metamask-previews/delegation-controller": "0.4.0-preview-8d14f81c",
  "@metamask-previews/earn-controller": "1.0.0-preview-8d14f81c",
  "@metamask-previews/eip1193-permission-middleware": "0.1.0-preview-8d14f81c",
  "@metamask-previews/ens-controller": "16.0.0-preview-8d14f81c",
  "@metamask-previews/error-reporting-service": "1.0.0-preview-8d14f81c",
  "@metamask-previews/eth-json-rpc-provider": "4.1.8-preview-8d14f81c",
  "@metamask-previews/foundryup": "1.0.0-preview-8d14f81c",
  "@metamask-previews/gas-fee-controller": "23.0.0-preview-8d14f81c",
  "@metamask-previews/json-rpc-engine": "10.0.3-preview-8d14f81c",
  "@metamask-previews/json-rpc-middleware-stream": "8.0.7-preview-8d14f81c",
  "@metamask-previews/keyring-controller": "22.0.1-preview-8d14f81c",
  "@metamask-previews/logging-controller": "6.0.4-preview-8d14f81c",
  "@metamask-previews/message-manager": "12.0.1-preview-8d14f81c",
  "@metamask-previews/multichain": "4.1.0-preview-8d14f81c",
  "@metamask-previews/multichain-api-middleware": "0.4.0-preview-8d14f81c",
  "@metamask-previews/multichain-network-controller": "0.8.0-preview-8d14f81c",
  "@metamask-previews/multichain-transactions-controller": "2.0.0-preview-8d14f81c",
  "@metamask-previews/name-controller": "8.0.3-preview-8d14f81c",
  "@metamask-previews/network-controller": "23.5.1-preview-8d14f81c",
  "@metamask-previews/notification-services-controller": "10.0.0-preview-8d14f81c",
  "@metamask-previews/permission-controller": "11.0.6-preview-8d14f81c",
  "@metamask-previews/permission-log-controller": "3.0.3-preview-8d14f81c",
  "@metamask-previews/phishing-controller": "12.5.0-preview-8d14f81c",
  "@metamask-previews/polling-controller": "13.0.0-preview-8d14f81c",
  "@metamask-previews/preferences-controller": "18.1.0-preview-8d14f81c",
  "@metamask-previews/profile-sync-controller": "17.0.0-preview-8d14f81c",
  "@metamask-previews/queued-request-controller": "10.0.0-preview-8d14f81c",
  "@metamask-previews/rate-limit-controller": "6.0.3-preview-8d14f81c",
  "@metamask-previews/remote-feature-flag-controller": "1.6.0-preview-8d14f81c",
  "@metamask-previews/sample-controllers": "0.1.0-preview-8d14f81c",
  "@metamask-previews/seedless-onboarding-controller": "1.0.0-preview-8d14f81c",
  "@metamask-previews/selected-network-controller": "22.1.0-preview-8d14f81c",
  "@metamask-previews/signature-controller": "30.0.0-preview-8d14f81c",
  "@metamask-previews/token-search-discovery-controller": "3.2.0-preview-8d14f81c",
  "@metamask-previews/transaction-controller": "57.0.0-preview-8d14f81c",
  "@metamask-previews/user-operation-controller": "36.0.0-preview-8d14f81c"
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants